//
//  ViewController.m
//  08-UI
//
//  Created by Snow on 16/7/25.
//  Copyright © 2016年 Snow. All rights reserved.
//

#import "ViewController.h"
#import "DetailViewController.h"
#import "AddViewController.h"
@interface ViewController ()<UITableViewDelegate, UITableViewDataSource, AddDelegate>
@property (nonatomic, strong) NSMutableArray *array;
@property (nonatomic, strong) NSDictionary *dic;
@property (nonatomic, strong) UITableView *tableView;
@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    /**
     *1.根据给定的plist文件(讲师教给学员怎么使用，读取数据）, 使用tableView写一个通讯录, 要求:
     
     第一个页面每个cell上显示学员姓名
     点击某个学员, 推出到详细信息页面
     详细信息页面使用label显示学员的详细信息
     NSString *path = [[NSBundle mainBundle] pathForResource:@"DLS160710" ofType:@"plist"];
     NSArray *array = [NSArray arrayWithContentsOfFile:path];
     2.
     在导航栏上增加一个按钮可以push一个添加学员页面
     添加学员页面中使用textField让用户输入信息, 点击保存按钮将学员信息显示到第一页tableView的最后面
     
     提示:
     
     tableView有一个方法- (void)reloadData; 可以重载所有的dataSource协议方法. 因此可以把数据添加到数组中, 然后reloadData即可.
     使用协议传值
     */
    self.navigationController.navigationBar.translucent = NO;
    self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(handleAdd:)];
    NSString *path = [[NSBundle mainBundle] pathForResource:@"DLS160710" ofType:@"plist"];
    self.array = [NSMutableArray array];
    self.array = [NSMutableArray arrayWithContentsOfFile:path];
    self.tableView = [[UITableView alloc] initWithFrame:self.view.bounds style:UITableViewStylePlain];
    self.tableView.backgroundColor = [UIColor whiteColor];
    [self.view addSubview:self.tableView];
    self.tableView.delegate = self;
    self.tableView.dataSource = self;
    [self.tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:@"pool"];
    [self.tableView reloadData];
}
- (void)handleAdd:(UIBarButtonItem *)barButtonItem
{
    AddViewController *add = [[AddViewController alloc] init];
    add.delegate = self;
    [self presentViewController:add animated:YES completion:nil];
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return self.array.count;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"pool"];
    self.dic = [self.array objectAtIndex:indexPath.row];
    cell.textLabel.text = [self.dic objectForKey:@"name"];
    return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    DetailViewController *detail = [[DetailViewController alloc] init];
    detail.dictionary = [self.array objectAtIndex:indexPath.row];
    [self presentViewController:detail animated:YES completion:nil];
}
- (void)addContact:(NSDictionary *)dictionary
{
    [self.array addObject:dictionary];
    [self.tableView reloadData];
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end
